Service Layer Architecture

Salient Features of Service Layer Design

  • Faster and easy Integration with multiple applications
  • Light weight design to provide scalability
  • Allows users to perform CRUD and search operations on OIPA Entity resources
  • Lighter payload
  • Self discoverable
  • Real-time data exchange
  • Provides security to data
  • Enables mobile integration

System Architecture

Service Layer design has 3 discrete sections with a 3-Tier application:

  1. Domain/functional Model
  2. Series of REST Endpoints
  3. A means for storing domain objects, or a persistence layer

In ServiceLayer Application, REST endpoints map to the Client user-interface/API, domain model maps to the domain layer i.e per entity, and in-memory database maps to the data source layer. These three layers as depicted in the diagram below are stacked one upon the other, with the User Interface/Client API at the top closest to the user, the domain layer in the middle, and the data source layer on the bottom. The diagram illustrates the Service Layer system architecture in terms of its interactions.

OIPA RESTFUL Services Application

The Service Layer application is implemented as a multi-tier J2EE-based server-side application. The business logic and data access have been developed and maintained as independent layers that run inside a single JVM. The REST (JAX-RS) and Spring framework is used as a component container to assemble the components together and to access available services across the layers.

The below is the architectural diagram of the OIPA RESTFUL Services application.